home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / updates / update37.zoo / libg++ / diffs
Encoding:
Text File  |  1994-02-02  |  47.9 KB  |  1,655 lines

  1. ===================================================================
  2. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/Changelo,v
  3. retrieving revision 1.1.1.1
  4. diff -c -r1.1.1.1 Changelo
  5. *** 1.1.1.1    1993/11/27 22:01:07
  6. --- Changelo    1994/02/01 23:07:42
  7. ***************
  8. *** 339,341 ****
  9. --- 339,368 ----
  10.   becoming a major pain in the butt.:: ++jrb
  11.   
  12.   ---------------------------- Patchlevel 21 -----------------------------------
  13. + in iosrc: builtinbuf.cc filedoalloc.c fileops.c floatconv.c genops.c
  14. +           iofclose.c iofdopen.c iofopen.c iofputs.c iofread.c iofwrite.c
  15. +           iopopen.c iostream.cc iovfscanf.c pfstream.cc sbscan.cc stdfiles.c
  16. +       stdstreams.cc streambuf.cc strops.c strstream.cc :: ++jrb
  17. +     sync with libg++ 2.5.2
  18. + in iotests: tiomisc.cc tiomisc.exp: ++jrb
  19. +     new test from libg++ 2.5.2
  20. + iotests/makefile.32, iotests/run32.g: ++jrb
  21. +     add above test
  22. + in g++-inc : fstream.h iolibio.h libio.h libioP.h
  23. +          streambuf.h strstream.h: ++jrb
  24. +     sync with libg++ 2.5.2
  25. + in iosrc: filedoalloc.c genops.c indstream.cc iofread.c iofsetpos.c
  26. +           iofwrite.c iovfprintf.c iovfscanf.c iovsscanf.c sbscan.cc : ++jrb
  27. +     sync with libg++ 2.5.3
  28. + in g++-inc: iostreamP.h libioP.h streambuf.h
  29. +     sync with libg++ 2.5.3
  30. + in libsrc:  xfix.cc xinteger.cc: ++jrb
  31. +     sync with libg++ 2.5.3
  32. ===================================================================
  33. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/PatchLev.h,v
  34. retrieving revision 1.1.1.1
  35. diff -c -r1.1.1.1 PatchLev.h
  36. *** 1.1.1.1    1993/11/27 22:01:08
  37. --- PatchLev.h    1993/12/07 22:52:13
  38. ***************
  39. *** 1,5 ****
  40.   
  41. ! #define    PatchLevel "21"
  42.   
  43.   /*
  44.    *    the Patch Level above is to identify the version
  45. --- 1,5 ----
  46.   
  47. ! #define    PatchLevel "22"
  48.   
  49.   /*
  50.    *    the Patch Level above is to identify the version
  51. ===================================================================
  52. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/fstream.h,v
  53. retrieving revision 1.1.1.1
  54. diff -c -r1.1.1.1 fstream.h
  55. *** 1.1.1.1    1993/11/27 22:01:14
  56. --- fstream.h    1993/12/07 22:10:47
  57. ***************
  58. *** 36,42 ****
  59.       fstreambase(int fd, char *p, int l); /* Deprecated */
  60.       fstreambase(const char *name, int mode, int prot=0664);
  61.       void close();
  62. !     filebuf* rdbuf() const { return (filebuf*)_strbuf; }
  63.       void open(const char *name, int mode, int prot=0664);
  64.       int is_open() const { return rdbuf()->is_open(); }
  65.       void setbuf(char *ptr, int len) { rdbuf()->setbuf(ptr, len); }
  66. --- 36,42 ----
  67.       fstreambase(int fd, char *p, int l); /* Deprecated */
  68.       fstreambase(const char *name, int mode, int prot=0664);
  69.       void close();
  70. !     filebuf* rdbuf() const { return (filebuf*) ios::rdbuf(); }
  71.       void open(const char *name, int mode, int prot=0664);
  72.       int is_open() const { return rdbuf()->is_open(); }
  73.       void setbuf(char *ptr, int len) { rdbuf()->setbuf(ptr, len); }
  74. ===================================================================
  75. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/iolibio.h,v
  76. retrieving revision 1.1.1.1
  77. diff -c -r1.1.1.1 iolibio.h
  78. *** 1.1.1.1    1993/11/27 22:01:15
  79. --- iolibio.h    1993/12/07 22:11:20
  80. ***************
  81. *** 13,19 ****
  82.   extern int _IO_fputs _PARAMS((const char*, _IO_FILE*));
  83.   extern int _IO_fsetpos _PARAMS((_IO_FILE*, const _IO_fpos_t *));
  84.   extern long int _IO_ftell _PARAMS((_IO_FILE*));
  85. ! extern _IO_size_t _IO_fwrite _PARAMS((const char*,
  86.                         _IO_size_t, _IO_size_t, _IO_FILE*));
  87.   extern char* _IO_gets _PARAMS((char*));
  88.   extern void _IO_perror _PARAMS((const char*));
  89. --- 13,19 ----
  90.   extern int _IO_fputs _PARAMS((const char*, _IO_FILE*));
  91.   extern int _IO_fsetpos _PARAMS((_IO_FILE*, const _IO_fpos_t *));
  92.   extern long int _IO_ftell _PARAMS((_IO_FILE*));
  93. ! extern _IO_size_t _IO_fwrite _PARAMS((const void*,
  94.                         _IO_size_t, _IO_size_t, _IO_FILE*));
  95.   extern char* _IO_gets _PARAMS((char*));
  96.   extern void _IO_perror _PARAMS((const char*));
  97. ***************
  98. *** 29,35 ****
  99.   #ifndef _IO_pos_BAD
  100.   #define _IO_pos_BAD ((_IO_fpos_t)(-1))
  101.   #endif
  102. ! #define _IO_clearerr(FP) ((FP)_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN))
  103.   #define _IO_feof(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
  104.   #define _IO_ferror(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
  105.   #define _IO_fseek(__fp, __offset, __whence) \
  106. --- 29,35 ----
  107.   #ifndef _IO_pos_BAD
  108.   #define _IO_pos_BAD ((_IO_fpos_t)(-1))
  109.   #endif
  110. ! #define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN))
  111.   #define _IO_feof(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
  112.   #define _IO_ferror(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
  113.   #define _IO_fseek(__fp, __offset, __whence) \
  114. ===================================================================
  115. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/iostreamP.h,v
  116. retrieving revision 1.1.1.1
  117. diff -c -r1.1.1.1 iostreamP.h
  118. *** 1.1.1.1    1993/11/27 22:01:15
  119. --- iostreamP.h    1994/02/01 22:32:17
  120. ***************
  121. *** 29,34 ****
  122.   convert_to_seekflags(int dir, int mode)
  123.   {
  124.     return (_IO_seekflags)((int)dir
  125. !              | (mode & ios::in ? 0 : _IO_seek_not_in)
  126. !              | (mode & ios::out ? 0 : _IO_seek_not_out));
  127.   }
  128. --- 29,34 ----
  129.   convert_to_seekflags(int dir, int mode)
  130.   {
  131.     return (_IO_seekflags)((int)dir
  132. !              | (mode & ios::in ? _IO_seek_set : _IO_seek_not_in)
  133. !              | (mode & ios::out ? _IO_seek_set : _IO_seek_not_out));
  134.   }
  135. ===================================================================
  136. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/libio.h,v
  137. retrieving revision 1.1.1.1
  138. diff -c -r1.1.1.1 libio.h
  139. *** 1.1.1.1    1993/11/27 22:01:15
  140. --- libio.h    1993/12/07 22:11:32
  141. ***************
  142. *** 140,145 ****
  143. --- 140,147 ----
  144.   
  145.   /* A streammarker remembers a position in a buffer. */
  146.   
  147. + struct _IO_jump_t;  struct _IO_FILE;
  148.   struct _IO_marker {
  149.     struct _IO_marker *_next;
  150.     struct _IO_FILE *_sbuf;
  151. ***************
  152. *** 159,166 ****
  153.   #endif
  154.   };
  155.   
  156. - struct _IO_jump_t;
  157.   struct _IO_FILE {
  158.     int _flags;        /* High-order word is _IO_MAGIC; rest is flags. */
  159.   #define _IO_file_flags _flags
  160. --- 161,166 ----
  161. ===================================================================
  162. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/libioP.h,v
  163. retrieving revision 1.1.1.1
  164. diff -c -r1.1.1.1 libioP.h
  165. *** 1.1.1.1    1993/11/27 22:01:15
  166. --- libioP.h    1994/02/01 22:32:35
  167. ***************
  168. *** 42,48 ****
  169.        read and write positions. */
  170.     _IO_seek_not_in = 4,    /* Don't move read posistion. */
  171.     _IO_seek_not_out = 8,    /* Don't move write posistion. */
  172. !   _IO_seek_pos_ignored = 16, /* Result is ignored (except EOF) */
  173.   } _IO_seekflags;
  174.   
  175.   typedef int (*_IO_overflow_t) _PARAMS((_IO_FILE*, int));
  176. --- 42,48 ----
  177.        read and write positions. */
  178.     _IO_seek_not_in = 4,    /* Don't move read posistion. */
  179.     _IO_seek_not_out = 8,    /* Don't move write posistion. */
  180. !   _IO_seek_pos_ignored = 16 /* Result is ignored (except EOF) */
  181.   } _IO_seekflags;
  182.   
  183.   typedef int (*_IO_overflow_t) _PARAMS((_IO_FILE*, int));
  184. ***************
  185. *** 114,119 ****
  186. --- 114,120 ----
  187.   
  188.   /* Default jumptable functions. */
  189.   
  190. + extern int _IO_default_underflow _PARAMS((_IO_FILE*));
  191.   extern int _IO_default_doallocate _PARAMS((_IO_FILE*));
  192.   extern void _IO_default_finish _PARAMS((_IO_FILE *));
  193.   extern int _IO_default_pbackfail _PARAMS((_IO_FILE*, int));
  194. ***************
  195. *** 126,133 ****
  196.   extern _IO_ssize_t _IO_default_read _PARAMS((_IO_FILE*, void*, _IO_ssize_t));
  197.   extern int _IO_default_stat _PARAMS((_IO_FILE*, void*));
  198.   extern _IO_fpos_t _IO_default_seek _PARAMS((_IO_FILE*, _IO_off_t, int));
  199. ! #define _IO_default_sync (_IO_sync_t)0
  200. ! #define _IO_default_close (_IO_close_t)0
  201.   
  202.   extern struct _IO_jump_t _IO_file_jumps;
  203.   extern struct _IO_jump_t _IO_proc_jumps;
  204. --- 127,134 ----
  205.   extern _IO_ssize_t _IO_default_read _PARAMS((_IO_FILE*, void*, _IO_ssize_t));
  206.   extern int _IO_default_stat _PARAMS((_IO_FILE*, void*));
  207.   extern _IO_fpos_t _IO_default_seek _PARAMS((_IO_FILE*, _IO_off_t, int));
  208. ! extern int _IO_default_sync _PARAMS((_IO_FILE*));
  209. ! #define _IO_default_close ((_IO_close_t)_IO_default_sync)
  210.   
  211.   extern struct _IO_jump_t _IO_file_jumps;
  212.   extern struct _IO_jump_t _IO_proc_jumps;
  213. ***************
  214. *** 153,159 ****
  215.   /* Jumptable functions for files. */
  216.   
  217.   extern int _IO_file_doallocate _PARAMS((_IO_FILE*));
  218. ! int _IO_file_setbuf _PARAMS((_IO_FILE *, char*, _IO_ssize_t));
  219.   extern _IO_fpos_t _IO_file_seekoff _PARAMS((_IO_FILE*, _IO_off_t, _IO_seekflags));
  220.   extern _IO_size_t _IO_file_xsputn _PARAMS((_IO_FILE*,const void*,_IO_size_t));
  221.   extern int _IO_file_stat _PARAMS((_IO_FILE*, void*));
  222. --- 154,160 ----
  223.   /* Jumptable functions for files. */
  224.   
  225.   extern int _IO_file_doallocate _PARAMS((_IO_FILE*));
  226. ! extern int _IO_file_setbuf _PARAMS((_IO_FILE *, char*, _IO_ssize_t));
  227.   extern _IO_fpos_t _IO_file_seekoff _PARAMS((_IO_FILE*, _IO_off_t, _IO_seekflags));
  228.   extern _IO_size_t _IO_file_xsputn _PARAMS((_IO_FILE*,const void*,_IO_size_t));
  229.   extern int _IO_file_stat _PARAMS((_IO_FILE*, void*));
  230. ===================================================================
  231. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/streambuf.h,v
  232. retrieving revision 1.1.1.1
  233. diff -c -r1.1.1.1 streambuf.h
  234. *** 1.1.1.1    1993/11/27 22:01:16
  235. --- streambuf.h    1994/02/01 22:32:50
  236. ***************
  237. *** 56,61 ****
  238. --- 56,62 ----
  239.   #define _IO_wchar_t short
  240.   #endif
  241.   
  242. + class istream; /* Work-around for a g++ name mangling bug. */
  243.   class ostream; class streambuf;
  244.   
  245.   // In case some header files defines these as macros.
  246. ***************
  247. *** 194,200 ****
  248.   #else
  249.       void _throw_failure() const { }
  250.   #endif
  251. !     void _IO_fix_vtable();
  252.       streambuf* rdbuf() const;
  253.   #if 0
  254.       streambuf* rdbuf(streambuf *_s) {
  255. --- 195,202 ----
  256.   #else
  257.       void _throw_failure() const { }
  258.   #endif
  259. !     void _IO_fix_vtable();  /* TEMPORARY - for binary compatibility */
  260. !     void _IO_fix_vtable() const;
  261.       streambuf* rdbuf() const;
  262.   #if 0
  263.       streambuf* rdbuf(streambuf *_s) {
  264. ***************
  265. *** 402,423 ****
  266.   // A backupbuf is a streambuf with full backup and savepoints on reading.
  267.   // All standard streambufs in the GNU iostream library are backupbufs.
  268.   
  269. - #if 0
  270. - // A backupbuf may have two get area:
  271. - // - The main get area, and (sometimes) the putback area.
  272. - // Whichever one of these contains the gptr is the current get area;
  273. - // the other one is the non-current get area.
  274. - class backupbuf : public streambuf {
  275. -     friend class streammarker;
  276. -   protected:
  277. -     backupbuf(int flags=0) : streambuf(flags|_IO_IS_BACKUPBUF) { }
  278. -   public:
  279. -     virtual int underflow();
  280. -     virtual int overflow(int c = EOF);
  281. - };
  282. - #endif
  283.   class filebuf : public streambuf {
  284.     protected:
  285.       void init();
  286. --- 404,409 ----
  287. ***************
  288. *** 465,471 ****
  289.   inline streambuf* ios::rdbuf() const
  290.   {
  291.     if (_strbuf && _strbuf->_vtable() == 0)
  292. !     ((ios*)this)->_IO_fix_vtable();
  293.     return _strbuf;
  294.   }
  295.   
  296. --- 451,457 ----
  297.   inline streambuf* ios::rdbuf() const
  298.   {
  299.     if (_strbuf && _strbuf->_vtable() == 0)
  300. !     _IO_fix_vtable();
  301.     return _strbuf;
  302.   }
  303.   
  304. ===================================================================
  305. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/include/strstream.h,v
  306. retrieving revision 1.1.1.1
  307. diff -c -r1.1.1.1 strstream.h
  308. *** 1.1.1.1    1993/11/27 22:01:16
  309. --- strstream.h    1993/12/07 22:12:07
  310. ***************
  311. *** 75,81 ****
  312.   
  313.   class strstreambase : virtual public ios {
  314.     public:
  315. !     strstreambuf* rdbuf() { return (strstreambuf*)_strbuf; }
  316.     protected:
  317.       strstreambase() { }
  318.       strstreambase(char *cp, int n, int mode=ios::out);
  319. --- 75,81 ----
  320.   
  321.   class strstreambase : virtual public ios {
  322.     public:
  323. !     strstreambuf* rdbuf() { return (strstreambuf*)ios::rdbuf(); }
  324.     protected:
  325.       strstreambase() { }
  326.       strstreambase(char *cp, int n, int mode=ios::out);
  327. ===================================================================
  328. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/builtinbuf.cc,v
  329. retrieving revision 1.1.1.1
  330. diff -c -r1.1.1.1 builtinbuf.cc
  331. *** 1.1.1.1    1993/11/27 22:01:22
  332. --- builtinbuf.cc    1993/12/07 22:10:31
  333. ***************
  334. *** 81,96 ****
  335.   int builtinbuf::sys_close()
  336.   { return _jumps->__close(this); }
  337.   
  338. ! static const void *get_builtin_vtable()
  339.   {
  340. !   char _dummy[sizeof(builtinbuf)];
  341. !   ((builtinbuf*)_dummy)->builtinbuf::builtinbuf();
  342. !   return ((builtinbuf*)_dummy)->_vtable();
  343.   }
  344.   
  345. ! const void *builtinbuf::vtable = get_builtin_vtable();
  346.   void ios::_IO_fix_vtable()
  347.   {
  348. !   _strbuf->_vtable() = builtinbuf::vtable;
  349.   }
  350. --- 81,102 ----
  351.   int builtinbuf::sys_close()
  352.   { return _jumps->__close(this); }
  353.   
  354. ! const void *builtinbuf::vtable = NULL;
  355. ! void ios::_IO_fix_vtable() const
  356.   {
  357. !   if (builtinbuf::vtable == NULL)
  358. !     {
  359. !       char _dummy[sizeof(builtinbuf)];
  360. !       ((builtinbuf*)_dummy)->builtinbuf::builtinbuf();
  361. !       builtinbuf::vtable = ((builtinbuf*)_dummy)->_vtable();
  362. !     }
  363. !   /* Cast away constness.  Maybe we should use the new 'mutable' keyword. */
  364. !   ((ios*)this)->_strbuf->_vtable() = builtinbuf::vtable;
  365.   }
  366.   
  367. ! /* This method is TEMPORARY, for binary compatibility! */
  368.   void ios::_IO_fix_vtable()
  369.   {
  370. !   ((const ios*) this)->_IO_fix_vtable();
  371.   }
  372. ===================================================================
  373. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/filedoalloc.c,v
  374. retrieving revision 1.2
  375. diff -c -r1.2 filedoalloc.c
  376. *** 1.2    1993/11/29 22:11:37
  377. --- filedoalloc.c    1994/02/01 22:34:16
  378. ***************
  379. *** 41,46 ****
  380. --- 41,47 ----
  381.   
  382.   /* Modified for GNU iostream by Per Bothner 1991, 1992. */
  383.   
  384. + #define _POSIX_SOURCE
  385.   #include "libioP.h"
  386.   #include <sys/types.h>
  387.   #include <sys/stat.h>
  388. ***************
  389. *** 63,69 ****
  390.   _IO_file_doallocate(fp)
  391.        register _IO_FILE *fp;
  392.   {
  393. !   register size_t size, couldbetty;
  394.     register char *p;
  395.     struct stat st;
  396.   
  397. --- 64,71 ----
  398.   _IO_file_doallocate(fp)
  399.        register _IO_FILE *fp;
  400.   {
  401. !   register _IO_size_t size;
  402. !   int couldbetty;
  403.     register char *p;
  404.     struct stat st;
  405.   
  406. ===================================================================
  407. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/fileops.c,v
  408. retrieving revision 1.1.1.1
  409. diff -c -r1.1.1.1 fileops.c
  410. *** 1.1.1.1    1993/11/27 22:01:23
  411. --- fileops.c    1993/12/07 22:10:32
  412. ***************
  413. *** 24,34 ****
  414.   
  415.   /*  written by Per Bothner (bothner@cygnus.com) */
  416.   
  417.   #include "libioP.h"
  418.   #include <fcntl.h>
  419. - #include <errno.h>
  420.   #include <sys/types.h>
  421.   #include <sys/stat.h>
  422.   #ifndef errno
  423.   extern int errno;
  424.   #endif
  425. --- 24,36 ----
  426.   
  427.   /*  written by Per Bothner (bothner@cygnus.com) */
  428.   
  429. + #define _POSIX_SOURCE
  430.   #include "libioP.h"
  431.   #include <fcntl.h>
  432.   #include <sys/types.h>
  433.   #include <sys/stat.h>
  434. + #include <string.h>
  435. + #include <errno.h>
  436.   #ifndef errno
  437.   extern int errno;
  438.   #endif
  439. ***************
  440. *** 127,133 ****
  441.   {
  442.     if (!(fp->_flags & _IO_DELETE_DONT_CLOSE))
  443.       _IO_file_close_it(fp);
  444. -   _IO_un_link(fp);
  445.     _IO_default_finish(fp);
  446.   }
  447.   
  448. --- 129,134 ----
  449. ===================================================================
  450. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/floatconv.c,v
  451. retrieving revision 1.2
  452. diff -c -r1.2 floatconv.c
  453. *** 1.2    1993/11/29 22:11:41
  454. --- floatconv.c    1993/12/07 22:14:34
  455. ***************
  456. *** 125,130 ****
  457. --- 125,131 ----
  458.   /* In this case, we assume IEEE floats. */
  459.   #define FLT_ROUNDS 1
  460.   #define FLT_RADIX 2
  461. + #define DBL_MANT_DIG 53
  462.   #define DBL_DIG 15
  463.   #define DBL_MAX_10_EXP 308
  464.   #define DBL_MAX_EXP 1024
  465. ***************
  466. *** 141,150 ****
  467.   #define Sign_Extend(a,b) /*no-op*/
  468.   #endif
  469.   
  470. ! #if defined(__i386__) || defined(clipper) || defined(MIPSEL)
  471.   #define IEEE_8087
  472.   #endif
  473.   #if defined(__sparc__) || defined(sparc) || defined(MIPSEB) || defined(atarist)
  474.   #define IEEE_MC68k
  475.   #endif
  476. --- 142,153 ----
  477.   #define Sign_Extend(a,b) /*no-op*/
  478.   #endif
  479.   
  480. ! #if defined(__i386__) || defined(__i860__) || defined(clipper)
  481.   #define IEEE_8087
  482.   #endif
  483. ! #if defined(MIPSEL) || defined(__alpha__)
  484. ! #define IEEE_8087
  485. ! #endif
  486.   #if defined(__sparc__) || defined(sparc) || defined(MIPSEB) || defined(atarist)
  487.   #define IEEE_MC68k
  488.   #endif
  489. ***************
  490. *** 347,353 ****
  491.   
  492.   /* Initialize a stack-allocated Bigint. */
  493.   
  494. ! Bigint *
  495.   Binit
  496.   #ifdef KR_headers
  497.           (v) Bigint *v;
  498. --- 350,356 ----
  499.   
  500.   /* Initialize a stack-allocated Bigint. */
  501.   
  502. ! static Bigint *
  503.   Binit
  504.   #ifdef KR_headers
  505.           (v) Bigint *v;
  506. ***************
  507. *** 1108,1113 ****
  508. --- 1111,1117 ----
  509.                                   goto break2;
  510.                           /* no break */
  511.                   case 0:
  512. +             s = s00;
  513.                           goto ret;
  514.                   case '\t':
  515.                   case '\n':
  516. ===================================================================
  517. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/genops.c,v
  518. retrieving revision 1.1.1.1
  519. diff -c -r1.1.1.1 genops.c
  520. *** 1.1.1.1    1993/11/27 22:01:23
  521. --- genops.c    1994/02/01 22:32:03
  522. ***************
  523. *** 25,30 ****
  524. --- 25,32 ----
  525.   /* Generic or default I/O operations. */
  526.   
  527.   #include "libioP.h"
  528. + #include <stdlib.h>
  529. + #include <string.h>
  530.   
  531.   void _IO_un_link(fp)
  532.        _IO_FILE *fp;
  533. ***************
  534. *** 262,267 ****
  535. --- 264,276 ----
  536.     _IO_setb(fp, fp->_shortbuf, fp->_shortbuf+1, 0);
  537.   }
  538.   
  539. + int
  540. + _IO_default_underflow (fp)
  541. +      _IO_FILE *fp;
  542. + {
  543. +   return EOF;
  544. + }
  545.   _IO_size_t
  546.   _IO_default_xsputn(f, data, n)
  547.        register _IO_FILE *f;
  548. ***************
  549. *** 426,431 ****
  550. --- 435,447 ----
  551.     fp->_cur_column = 0;
  552.   }
  553.   
  554. + int
  555. + _IO_default_sync (fp)
  556. +      _IO_FILE *fp;
  557. + {
  558. +   return 0;
  559. + }
  560.   void _IO_default_finish (fp)
  561.        _IO_FILE *fp;
  562.   {
  563. ***************
  564. *** 627,632 ****
  565. --- 643,649 ----
  566.       _IO_switch_to_backup_area(fp);
  567.         fp->_IO_read_ptr = fp->_IO_read_end + mark->_pos;
  568.       }
  569. +   return 0;
  570.   }
  571.   
  572.   void _IO_unsave_markers(fp)
  573. ===================================================================
  574. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/indstream.cc,v
  575. retrieving revision 1.1.1.1
  576. diff -c -r1.1.1.1 indstream.cc
  577. *** 1.1.1.1    1993/11/27 22:01:23
  578. --- indstream.cc    1994/02/01 22:32:03
  579. ***************
  580. *** 103,114 ****
  581.   
  582.   int indirectbuf::sync()
  583.   {
  584. !     streambuf *gbuf = get_stream();
  585. !     int ret_val = gbuf->sync();
  586. !     if (ret_val == EOF) return ret_val;
  587. !     streambuf *pbuf = put_stream();
  588. !     if (pbuf != gbuf) return pbuf->sync();
  589. !     else return ret_val;
  590.   }
  591.   
  592.   int indirectbuf::pbackfail(int c)
  593. --- 103,113 ----
  594.   
  595.   int indirectbuf::sync()
  596.   {
  597. !   streambuf *gbuf = get_stream();
  598. !   int get_ret_val = gbuf ? gbuf->sync() : 0;
  599. !   streambuf *pbuf = put_stream();
  600. !   int put_ret_val = (pbuf && pbuf != gbuf) ?  pbuf->sync() : 0;
  601. !   return get_ret_val || put_ret_val;
  602.   }
  603.   
  604.   int indirectbuf::pbackfail(int c)
  605. ===================================================================
  606. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iofclose.c,v
  607. retrieving revision 1.1.1.1
  608. diff -c -r1.1.1.1 iofclose.c
  609. *** 1.1.1.1    1993/11/27 22:01:24
  610. --- iofclose.c    1993/12/07 22:11:06
  611. ***************
  612. *** 23,28 ****
  613. --- 23,29 ----
  614.   the executable file might be covered by the GNU General Public License. */
  615.   
  616.   #include "libioP.h"
  617. + #include <stdlib.h>
  618.   
  619.   int
  620.   _IO_fclose(fp)
  621. ***************
  622. *** 30,37 ****
  623.   {
  624.     int status = 0;
  625.     COERCE_FILE(fp);
  626. !   status = fp->_jumps->__close(fp);
  627.     fp->_jumps->__finish(fp);
  628. !   free(fp);
  629.     return status;
  630.   }
  631. --- 31,40 ----
  632.   {
  633.     int status = 0;
  634.     COERCE_FILE(fp);
  635. !   if (fp->_IO_file_flags & _IO_IS_FILEBUF)
  636. !     status = _IO_file_close_it(fp);
  637.     fp->_jumps->__finish(fp);
  638. !   if (fp != _IO_stdin && fp != _IO_stdout && fp != _IO_stderr)
  639. !     free(fp);
  640.     return status;
  641.   }
  642. ===================================================================
  643. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iofdopen.c,v
  644. retrieving revision 1.1.1.1
  645. diff -c -r1.1.1.1 iofdopen.c
  646. *** 1.1.1.1    1993/11/27 22:01:24
  647. --- iofdopen.c    1993/12/07 22:11:07
  648. ***************
  649. *** 53,63 ****
  650.       read_write &= _IO_IS_APPENDING;
  651.   
  652.     fp = (struct _IO_FILE_plus*)malloc(sizeof(struct _IO_FILE_plus));
  653.     _IO_init(&fp->_file, 0);
  654.     fp->_file._jumps = &_IO_file_jumps;
  655.     _IO_file_init(&fp->_file);
  656. -   if (fp == NULL)
  657. -     return NULL;
  658.     fp->_vtable = NULL;
  659.     if (_IO_file_attach(&fp->_file, fd) == NULL)
  660.       {
  661. --- 53,63 ----
  662.       read_write &= _IO_IS_APPENDING;
  663.   
  664.     fp = (struct _IO_FILE_plus*)malloc(sizeof(struct _IO_FILE_plus));
  665. +   if (fp == NULL)
  666. +     return NULL;
  667.     _IO_init(&fp->_file, 0);
  668.     fp->_file._jumps = &_IO_file_jumps;
  669.     _IO_file_init(&fp->_file);
  670.     fp->_vtable = NULL;
  671.     if (_IO_file_attach(&fp->_file, fd) == NULL)
  672.       {
  673. ===================================================================
  674. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iofopen.c,v
  675. retrieving revision 1.1.1.1
  676. diff -c -r1.1.1.1 iofopen.c
  677. *** 1.1.1.1    1993/11/27 22:01:24
  678. --- iofopen.c    1993/12/07 22:11:07
  679. ***************
  680. *** 23,28 ****
  681. --- 23,29 ----
  682.   the executable file might be covered by the GNU General Public License. */
  683.   
  684.   #include "libioP.h"
  685. + #include <stdlib.h>
  686.   
  687.   _IO_FILE *
  688.   _IO_fopen (filename, mode)
  689. ***************
  690. *** 31,36 ****
  691. --- 32,39 ----
  692.   {
  693.     struct _IO_FILE_plus *fp =
  694.       (struct _IO_FILE_plus*)malloc(sizeof(struct _IO_FILE_plus));
  695. +   if (fp == NULL)
  696. +     return NULL;
  697.     _IO_init(&fp->_file, 0);
  698.     fp->_file._jumps = &_IO_file_jumps;
  699.     _IO_file_init(&fp->_file);
  700. ===================================================================
  701. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iofputs.c,v
  702. retrieving revision 1.1.1.1
  703. diff -c -r1.1.1.1 iofputs.c
  704. *** 1.1.1.1    1993/11/27 22:01:24
  705. --- iofputs.c    1993/12/07 22:11:07
  706. ***************
  707. *** 23,28 ****
  708. --- 23,29 ----
  709.   the executable file might be covered by the GNU General Public License. */
  710.   
  711.   #include "libioP.h"
  712. + #include <string.h>
  713.   
  714.   int _IO_fputs(str, fp)
  715.        const char *str;
  716. ===================================================================
  717. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iofread.c,v
  718. retrieving revision 1.1.1.1
  719. diff -c -r1.1.1.1 iofread.c
  720. *** 1.1.1.1    1993/11/27 22:01:25
  721. --- iofread.c    1994/02/01 22:32:03
  722. ***************
  723. *** 34,39 ****
  724.     _IO_size_t bytes_requested = size*count;
  725.     _IO_size_t bytes_read;
  726.     COERCE_FILE(fp);
  727. !   bytes_read = fp->_jumps->__xsgetn(fp, (char *)buf, bytes_requested);
  728.     return bytes_requested == bytes_read ? count : bytes_read / size;
  729.   }
  730. --- 34,41 ----
  731.     _IO_size_t bytes_requested = size*count;
  732.     _IO_size_t bytes_read;
  733.     COERCE_FILE(fp);
  734. !   if (bytes_requested == 0)
  735. !     return 0;
  736. !   bytes_read = _IO_sgetn(fp, (char *)buf, bytes_requested);
  737.     return bytes_requested == bytes_read ? count : bytes_read / size;
  738.   }
  739. ===================================================================
  740. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iofsetpos.c,v
  741. retrieving revision 1.1.1.1
  742. diff -c -r1.1.1.1 iofsetpos.c
  743. *** 1.1.1.1    1993/11/27 22:01:25
  744. --- iofsetpos.c    1994/02/01 22:32:04
  745. ***************
  746. *** 30,36 ****
  747.        _IO_FILE* fp;
  748.        const _IO_fpos_t *posp;
  749.   {
  750. -   _IO_fpos_t pos;
  751.     COERCE_FILE(fp);
  752.     if (_IO_seekpos(fp, *posp, 0) == _IO_pos_BAD)
  753.       {
  754. --- 30,35 ----
  755. ===================================================================
  756. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iofwrite.c,v
  757. retrieving revision 1.1.1.1
  758. diff -c -r1.1.1.1 iofwrite.c
  759. *** 1.1.1.1    1993/11/27 22:01:25
  760. --- iofwrite.c    1994/02/01 22:32:04
  761. ***************
  762. *** 26,32 ****
  763.   
  764.   _IO_size_t
  765.   _IO_fwrite(buf, size, count, fp)
  766. !      const char* buf;
  767.        _IO_size_t size;
  768.        _IO_size_t count;
  769.        _IO_FILE *fp;
  770. --- 26,32 ----
  771.   
  772.   _IO_size_t
  773.   _IO_fwrite(buf, size, count, fp)
  774. !      const void* buf;
  775.        _IO_size_t size;
  776.        _IO_size_t count;
  777.        _IO_FILE *fp;
  778. ***************
  779. *** 34,40 ****
  780.     _IO_size_t request = size*count;
  781.     _IO_size_t written;
  782.     COERCE_FILE(fp);
  783. !   written = _IO_sputn(fp, buf, request);
  784.     if (written == request)
  785.       return count;
  786.     else
  787. --- 34,44 ----
  788.     _IO_size_t request = size*count;
  789.     _IO_size_t written;
  790.     COERCE_FILE(fp);
  791. !   if (request == 0)
  792. !     return 0;
  793. !   written = _IO_sputn(fp, (const char *)buf, request);
  794. !   /* Many traditional implementations return 0 if size==0 && count > 0,
  795. !      but ANSI seems to require us to return count in this case. */
  796.     if (written == request)
  797.       return count;
  798.     else
  799. ===================================================================
  800. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iopopen.c,v
  801. retrieving revision 1.1.1.1
  802. diff -c -r1.1.1.1 iopopen.c
  803. *** 1.1.1.1    1993/11/27 22:01:26
  804. --- iopopen.c    1993/12/07 22:11:21
  805. ***************
  806. *** 29,34 ****
  807. --- 29,42 ----
  808.   #if _IO_HAVE_SYS_WAIT
  809.   #include <signal.h>
  810.   #include <unistd.h>
  811. + #ifdef __STDC__
  812. + /* This is now provided by gcc's fixproto. */
  813. + #include <stdlib.h>
  814. + #endif
  815. + #include <errno.h>
  816. + #ifndef errno
  817. + extern int errno;
  818. + #endif
  819.   #include <sys/wait.h>
  820.   
  821.   #ifndef _IO_fork
  822. ***************
  823. *** 48,53 ****
  824. --- 56,65 ----
  825.   extern int _IO_dup2();
  826.   #endif
  827.   
  828. + #ifndef _IO_waitpid
  829. + #define _IO_waitpid waitpid
  830. + #endif
  831.   #ifndef _IO_execl
  832.   #define _IO_execl execl
  833.   #endif
  834. ***************
  835. *** 55,72 ****
  836.   #define _IO__exit _exit
  837.   #endif
  838.   
  839. - #ifdef TODO
  840. - /* Ditto for signal, sigxxxmask, wait etc */
  841. - #endif
  842.   struct _IO_proc_file
  843.   {
  844.     struct _IO_FILE_plus _file;
  845.     /* Following fields must match those in class procbuf (procbuf.h) */
  846.     _IO_pid_t _pid;
  847.   };
  848.   typedef struct _IO_proc_file _IO_proc_file;
  849.   
  850.   _IO_FILE *
  851.   _IO_proc_open(fp, command, mode)
  852.        _IO_FILE* fp;
  853. --- 67,83 ----
  854.   #define _IO__exit _exit
  855.   #endif
  856.   
  857.   struct _IO_proc_file
  858.   {
  859.     struct _IO_FILE_plus _file;
  860.     /* Following fields must match those in class procbuf (procbuf.h) */
  861.     _IO_pid_t _pid;
  862. +   struct _IO_proc_file *_next;
  863.   };
  864.   typedef struct _IO_proc_file _IO_proc_file;
  865.   
  866. + static struct _IO_proc_file *proc_file_chain = NULL;
  867.   _IO_FILE *
  868.   _IO_proc_open(fp, command, mode)
  869.        _IO_FILE* fp;
  870. ***************
  871. *** 104,109 ****
  872. --- 115,129 ----
  873.         _IO_dup2(child_end, child_std_end);
  874.         _IO_close(child_end);
  875.       }
  876. +       /* Posix.2:  "popen() shall ensure that any streams from previous
  877. +          popen() calls that remain open in the parent process are closed
  878. +      in the new child process." */
  879. +       while (proc_file_chain)
  880. +     {
  881. +       _IO_close (_IO_fileno ((_IO_FILE *) proc_file_chain));
  882. +       proc_file_chain = proc_file_chain->_next;
  883. +     }
  884.         _IO_execl("/bin/sh", "sh", "-c", command, NULL);
  885.         _IO__exit(127);
  886.       }
  887. ***************
  888. *** 114,119 ****
  889. --- 134,144 ----
  890.         return NULL;
  891.       }
  892.     _IO_fileno(fp) = parent_end;
  893. +   /* Link into proc_file_chain. */
  894. +   ((_IO_proc_file*)fp)->_next = proc_file_chain;
  895. +   proc_file_chain = (_IO_proc_file*)fp;
  896.     fp->_IO_file_flags
  897.       = read_or_write | (fp->_IO_file_flags & ~(_IO_NO_READS|_IO_NO_WRITES));
  898.     return fp;
  899. ***************
  900. *** 129,139 ****
  901.   {
  902.     _IO_proc_file *fpx = (_IO_proc_file*)malloc(sizeof(_IO_proc_file));
  903.     _IO_FILE *fp = (_IO_FILE*)fpx;
  904.     _IO_init(fp, 0);
  905.     fp->_jumps = &_IO_proc_jumps;
  906.     _IO_file_init(fp);
  907. -   if (fp == NULL)
  908. -     return NULL;
  909.     ((struct _IO_FILE_plus*)fp)->_vtable = NULL;
  910.     if (_IO_proc_open (fp, command, mode) != NULL)
  911.       return fp;
  912. --- 154,164 ----
  913.   {
  914.     _IO_proc_file *fpx = (_IO_proc_file*)malloc(sizeof(_IO_proc_file));
  915.     _IO_FILE *fp = (_IO_FILE*)fpx;
  916. +   if (fp == NULL)
  917. +     return NULL;
  918.     _IO_init(fp, 0);
  919.     fp->_jumps = &_IO_proc_jumps;
  920.     _IO_file_init(fp);
  921.     ((struct _IO_FILE_plus*)fp)->_vtable = NULL;
  922.     if (_IO_proc_open (fp, command, mode) != NULL)
  923.       return fp;
  924. ***************
  925. *** 148,192 ****
  926.     /* This is not name-space clean. FIXME! */
  927.   #if _IO_HAVE_SYS_WAIT
  928.     int wstatus;
  929.     _IO_pid_t wait_pid;
  930.     int status = _IO_close(_IO_fileno(fp));
  931. ! #if defined(SIG_BLOCK) && defined(SIG_SETMASK)
  932. !   sigset_t set, oset;
  933. ! #endif
  934.     if (status < 0)
  935.       return status;
  936. ! #if defined(SIG_BLOCK) && defined(SIG_SETMASK)
  937. !   sigemptyset (&set);
  938. !   sigaddset (&set, SIGINT);
  939. !   sigaddset (&set, SIGQUIT);
  940. !   sigaddset (&set, SIGHUP);
  941. !   sigprocmask (SIG_BLOCK, &set, &oset);
  942. ! #else
  943. ! #ifdef USE_SIGMASK
  944. !   int mask = sigblock(sigmask(SIGINT) | sigmask(SIGQUIT) | sigmask(SIGHUP));
  945. ! #else
  946. !   typedef void (*void_func)(int);
  947. !   void_func intsave = (void_func)signal(SIGINT, SIG_IGN);
  948. !   void_func quitsave = (void_func)signal(SIGQUIT, SIG_IGN);
  949. !   void_func hupsave = (void_func)signal(SIGHUP, SIG_IGN);
  950. ! #endif
  951. ! #endif
  952. !   while ((wait_pid = wait(&wstatus)) != ((_IO_proc_file*)fp)->_pid
  953. !      && wait_pid != -1) { }
  954. ! #if defined(SIG_BLOCK) && defined(SIG_SETMASK)
  955. !   sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
  956. ! #else
  957. ! #ifdef USE_SIGMASK
  958. !   (void) sigsetmask(mask);
  959. ! #else
  960. !   signal(SIGINT, intsave);
  961. !   signal(SIGQUIT, quitsave);
  962. !   signal(SIGHUP, hupsave);
  963. ! #endif
  964. ! #endif
  965.     if (wait_pid == -1)
  966.       return -1;
  967. !   return 0;
  968.   #else /* !_IO_HAVE_SYS_WAIT */
  969.     return -1;
  970.   #endif
  971. --- 173,205 ----
  972.     /* This is not name-space clean. FIXME! */
  973.   #if _IO_HAVE_SYS_WAIT
  974.     int wstatus;
  975. +   _IO_proc_file **ptr = &proc_file_chain;
  976.     _IO_pid_t wait_pid;
  977.     int status = _IO_close(_IO_fileno(fp));
  978. !   /* Unlink from proc_file_chain. */
  979. !   for ( ; *ptr != NULL; ptr = &(*ptr)->_next)
  980. !     {
  981. !       if (*ptr == (_IO_proc_file*)fp)
  982. !     {
  983. !       *ptr = (*ptr)->_next;
  984. !       break;
  985. !     }
  986. !     }
  987.     if (status < 0)
  988.       return status;
  989. !   /* POSIX.2 Rationale:  "Some historical implementations either block
  990. !      or ignore the signals SIGINT, SIGQUIT, and SIGHUP while waiting
  991. !      for the child process to terminate.  Since this behavior is not
  992. !      described in POSIX.2, such implementations are not conforming." */
  993. !   do
  994. !     {
  995. !       wait_pid = _IO_waitpid (((_IO_proc_file*)fp)->_pid, &wstatus, 0);
  996. !     } while (wait_pid == -1 && errno == EINTR);
  997.     if (wait_pid == -1)
  998.       return -1;
  999. !   return wstatus;
  1000.   #else /* !_IO_HAVE_SYS_WAIT */
  1001.     return -1;
  1002.   #endif
  1003. ===================================================================
  1004. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iostream.cc,v
  1005. retrieving revision 1.1.1.1
  1006. diff -c -r1.1.1.1 iostream.cc
  1007. *** 1.1.1.1    1993/11/27 22:01:27
  1008. --- iostream.cc    1993/12/07 22:11:21
  1009. ***************
  1010. *** 32,37 ****
  1011. --- 32,38 ----
  1012.   #include "libioP.h"
  1013.   #include <stdio.h>  /* Needed for sprintf */
  1014.   #include <ctype.h>
  1015. + #include <string.h>
  1016.   #include <limits.h>
  1017.   #include "floatio.h"
  1018.   
  1019. ===================================================================
  1020. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iovfprintf.c,v
  1021. retrieving revision 1.1.1.1
  1022. diff -c -r1.1.1.1 iovfprintf.c
  1023. *** 1.1.1.1    1993/11/27 22:01:28
  1024. --- iovfprintf.c    1994/02/01 22:32:17
  1025. ***************
  1026. *** 69,120 ****
  1027.   /* end of configuration stuff */
  1028.   
  1029.   
  1030. - #ifdef TODO
  1031.   /*
  1032. !  * Helper class and function for `fprintf to unbuffered': creates a
  1033. !  * temporary buffer.  We only work on write-only files; this avoids
  1034. !  * worries about ungetc buffers and so forth.
  1035. !  */
  1036.   
  1037. ! class help_streambuf : public backupbuf {
  1038. !   public:
  1039. !     char *buffer;
  1040. !     int buf_size;
  1041. !     streambuf *sb;
  1042. !     help_streambuf(streambuf *sbuf, char *buf, int n) {
  1043. !     sb = sbuf; buffer = buf; buf_size = n;
  1044. !     setp(buffer, buffer+buf_size); }
  1045. !     ~help_streambuf();
  1046. !     virtual int overflow(int c = EOF);
  1047.   };
  1048.   
  1049. ! int help_streambuf::overflow(int c)
  1050. ! {
  1051. !     int used = pptr() - pbase();
  1052. !     if (used) {
  1053. !     sb->sputn(pbase(), used);
  1054. !     pbump(-used);
  1055. !     }
  1056. !     if (c == EOF || buf_size == 0)
  1057. !     return sb->overflow(c);
  1058. !     return sputc(c);
  1059. ! }
  1060. ! help_streambuf::~help_streambuf()
  1061.   {
  1062. !     int used = pptr() - pbase();
  1063. !     if (used) {
  1064. !     sb->sputn(pbase(), used);
  1065. !     pbump(-used);
  1066.       }
  1067.   }
  1068.   
  1069. ! int help_vform(streambuf *sb, char const *fmt0, va_list ap)
  1070.   {
  1071. !     char buf[_IO_BUFSIZ];
  1072. !     help_streambuf helper(sb, buf, _IO_BUFSIZ);
  1073. !     return helper.vform(fmt0, ap);
  1074.   }
  1075. - #endif
  1076.   
  1077.   #ifdef FLOATING_POINT
  1078.   
  1079. --- 69,147 ----
  1080.   /* end of configuration stuff */
  1081.   
  1082.   
  1083.   /*
  1084. !  * Helper "class" for `fprintf to unbuffered': creates a
  1085. !  * temporary buffer. */
  1086.   
  1087. ! struct helper_file
  1088. ! {
  1089. !   struct _IO_FILE_plus _f;
  1090. !   _IO_FILE *_put_stream;
  1091.   };
  1092.   
  1093. ! static int
  1094. ! _IO_helper_overflow (fp, c)
  1095. !      _IO_FILE *fp;
  1096. !      int c;
  1097.   {
  1098. !   _IO_FILE *target = ((struct helper_file*)fp)->_put_stream;
  1099. !   int used = fp->_IO_write_ptr - fp->_IO_write_base;
  1100. !   if (used)
  1101. !     {
  1102. !       _IO_sputn(target, fp->_IO_write_base, used);
  1103. !       fp->_IO_write_ptr -= used;
  1104.       }
  1105. +   return _IO_putc (c, fp);
  1106.   }
  1107.   
  1108. ! static struct _IO_jump_t _IO_helper_jumps = {
  1109. !   _IO_helper_overflow,
  1110. !   _IO_default_underflow,
  1111. !   _IO_default_xsputn,
  1112. !   _IO_default_xsgetn,
  1113. !   _IO_default_read,
  1114. !   _IO_default_write,
  1115. !   _IO_default_doallocate,
  1116. !   _IO_default_pbackfail,
  1117. !   _IO_default_setbuf,
  1118. !   _IO_default_sync,
  1119. !   _IO_default_finish,
  1120. !   _IO_default_close,
  1121. !   _IO_default_stat,
  1122. !   _IO_default_seek,
  1123. !   _IO_default_seekoff,
  1124. !   _IO_default_seekpos,
  1125. ! };
  1126. ! static int
  1127. ! helper_vfprintf(fp, fmt0, ap)
  1128. !      register _IO_FILE* fp;
  1129. !      char const *fmt0;
  1130. !      _IO_va_list ap;
  1131.   {
  1132. !   char buf[_IO_BUFSIZ];
  1133. !   struct helper_file helper;
  1134. !   register _IO_FILE *hp = (_IO_FILE*)&helper;
  1135. !   int result, to_flush;
  1136. !   /* initialize helper */
  1137. !   helper._put_stream = fp;
  1138. !   hp->_IO_write_base = buf;
  1139. !   hp->_IO_write_ptr = buf;
  1140. !   hp->_IO_write_end = buf+_IO_BUFSIZ;
  1141. !   hp->_jumps = &_IO_helper_jumps;
  1142. !   
  1143. !   /* Now print to helper instead. */
  1144. !   result = _IO_vfprintf(hp, fmt0, ap);
  1145. !   /* Now flush anything from the helper to the fp. */
  1146. !   if ((to_flush = hp->_IO_write_ptr - hp->_IO_write_base) > 0)
  1147. !     {
  1148. !       if (_IO_sputn(fp, hp->_IO_write_base, to_flush) != to_flush)
  1149. !     return EOF;
  1150. !     }
  1151. !   return result;
  1152.   }
  1153.   
  1154.   #ifdef FLOATING_POINT
  1155.   
  1156. ***************
  1157. *** 204,214 ****
  1158.           flags&SHORTINT ? (unsigned long)(unsigned short)va_arg(ap, int) : \
  1159.           (unsigned long)va_arg(ap, unsigned int))
  1160.   
  1161. ! #ifdef TODO
  1162. !     /* optimise cerr (and other unbuffered Unix files) */
  1163. !     if (unbuffered())
  1164. !         return help_vform(this, fmt0, ap);
  1165. ! #endif
  1166.   
  1167.       fmt = fmt0;
  1168.       ret = 0;
  1169. --- 231,239 ----
  1170.           flags&SHORTINT ? (unsigned long)(unsigned short)va_arg(ap, int) : \
  1171.           (unsigned long)va_arg(ap, unsigned int))
  1172.   
  1173. !     /* optimise stderr (and other unbuffered Unix files) */
  1174. !     if (fp->_IO_file_flags & _IO_UNBUFFERED)
  1175. !         return helper_vfprintf(fp, fmt0, ap);
  1176.   
  1177.       fmt = fmt0;
  1178.       ret = 0;
  1179. ===================================================================
  1180. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iovfscanf.c,v
  1181. retrieving revision 1.1.1.1
  1182. diff -c -r1.1.1.1 iovfscanf.c
  1183. *** 1.1.1.1    1993/11/27 22:01:28
  1184. --- iovfscanf.c    1994/02/01 22:32:18
  1185. ***************
  1186. *** 40,46 ****
  1187.    */
  1188.   
  1189.   /* Extensively hacked for GNU iostream by Per Bothner 1991, 1992, 1993.
  1190. ! /* Changes copyright Per Bothner 1992, 1993. */
  1191.   
  1192.   #if defined(LIBC_SCCS) && !defined(lint)
  1193.   static char sccsid[] = "%W% (Berkeley) %G%";
  1194. --- 40,46 ----
  1195.    */
  1196.   
  1197.   /* Extensively hacked for GNU iostream by Per Bothner 1991, 1992, 1993.
  1198. !    Changes copyright Free Software Foundation 1992, 1993. */
  1199.   
  1200.   #if defined(LIBC_SCCS) && !defined(lint)
  1201.   static char sccsid[] = "%W% (Berkeley) %G%";
  1202. ***************
  1203. *** 102,108 ****
  1204.   #define u_long unsigned long
  1205.   
  1206.   extern u_long strtoul _PARAMS((const char*, char**, int));
  1207. ! extern u_long strtol _PARAMS((const char*, char**, int));
  1208.   static const u_char *__sccl _PARAMS((char *tab, const u_char *fmt));
  1209.   #ifndef USE_DTOA
  1210.   extern double atof();
  1211. --- 102,108 ----
  1212.   #define u_long unsigned long
  1213.   
  1214.   extern u_long strtoul _PARAMS((const char*, char**, int));
  1215. ! extern long strtol _PARAMS((const char*, char**, int));
  1216.   static const u_char *__sccl _PARAMS((char *tab, const u_char *fmt));
  1217.   #ifndef USE_DTOA
  1218.   extern double atof();
  1219. ***************
  1220. *** 149,156 ****
  1221.           if (isspace(c)) {
  1222.               for (;;) {
  1223.                       c = _IO_getc(fp);
  1224. !                 if (c == EOF)
  1225. !                     goto eof_failure;
  1226.                   if (!isspace(c)) {
  1227.                       _IO_ungetc (c, fp);
  1228.                       break;
  1229. --- 149,158 ----
  1230.           if (isspace(c)) {
  1231.               for (;;) {
  1232.                       c = _IO_getc(fp);
  1233. !                 if (c == EOF) {
  1234. !                   seen_eof++;
  1235. !                   break;
  1236. !                 }
  1237.                   if (!isspace(c)) {
  1238.                       _IO_ungetc (c, fp);
  1239.                       break;
  1240. ===================================================================
  1241. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/iovsscanf.c,v
  1242. retrieving revision 1.1.1.1
  1243. diff -c -r1.1.1.1 iovsscanf.c
  1244. *** 1.1.1.1    1993/11/27 22:01:28
  1245. --- iovsscanf.c    1994/02/01 22:32:18
  1246. ***************
  1247. *** 34,39 ****
  1248.     _IO_strfile sf;
  1249.     _IO_init((_IO_FILE*)&sf, 0);
  1250.     ((_IO_FILE*)&sf)->_jumps = &_IO_str_jumps;
  1251. !   _IO_str_init_static ((_IO_FILE*)&sf, (char*)string, -1, NULL);
  1252.     return _IO_vfscanf((_IO_FILE*)&sf, format, args, NULL);
  1253.   }
  1254. --- 34,39 ----
  1255.     _IO_strfile sf;
  1256.     _IO_init((_IO_FILE*)&sf, 0);
  1257.     ((_IO_FILE*)&sf)->_jumps = &_IO_str_jumps;
  1258. !   _IO_str_init_static ((_IO_FILE*)&sf, (char*)string, 0, NULL);
  1259.     return _IO_vfscanf((_IO_FILE*)&sf, format, args, NULL);
  1260.   }
  1261. ===================================================================
  1262. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/pfstream.cc,v
  1263. retrieving revision 1.1.1.1
  1264. diff -c -r1.1.1.1 pfstream.cc
  1265. *** 1.1.1.1    1993/11/27 22:01:29
  1266. --- pfstream.cc    1993/12/07 22:11:43
  1267. ***************
  1268. *** 60,66 ****
  1269.       command[p-name] = '\0';
  1270.   
  1271.       procbuf *pbuf = new procbuf();
  1272. -     int(pbuf);
  1273.       if (pbuf->open(command, mode))
  1274.           set(ios::badbit);
  1275.   #ifndef __GNUC__
  1276. --- 60,65 ----
  1277. ===================================================================
  1278. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/sbscan.cc,v
  1279. retrieving revision 1.1.1.1
  1280. diff -c -r1.1.1.1 sbscan.cc
  1281. *** 1.1.1.1    1993/11/27 22:01:30
  1282. --- sbscan.cc    1994/02/01 22:32:35
  1283. ***************
  1284. *** 27,38 ****
  1285.   #include "streambuf.h"
  1286.   #include <stdarg.h>
  1287.   
  1288. ! int streambuf::vscan(char const *fmt0, _IO_va_list ap, ios* stream = NULL)
  1289.   {
  1290.     int errcode = 0;
  1291. !   return _IO_vfscanf(this, fmt0, ap, &errcode);
  1292.     if (stream)
  1293.       stream->setstate((ios::iostate)errcode);
  1294.   }
  1295.   int streambuf::scan(char const *format ...)
  1296.   {
  1297. --- 27,39 ----
  1298.   #include "streambuf.h"
  1299.   #include <stdarg.h>
  1300.   
  1301. ! int streambuf::vscan(char const *fmt0, _IO_va_list ap, ios* stream /* = NULL*/)
  1302.   {
  1303.     int errcode = 0;
  1304. !   int count = _IO_vfscanf(this, fmt0, ap, &errcode);
  1305.     if (stream)
  1306.       stream->setstate((ios::iostate)errcode);
  1307. +   return count;
  1308.   }
  1309.   int streambuf::scan(char const *format ...)
  1310.   {
  1311. ===================================================================
  1312. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/stdfiles.c,v
  1313. retrieving revision 1.1.1.1
  1314. diff -c -r1.1.1.1 stdfiles.c
  1315. *** 1.1.1.1    1993/11/27 22:01:30
  1316. --- stdfiles.c    1993/12/07 22:11:44
  1317. ***************
  1318. *** 31,37 ****
  1319.            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, &_IO_file_jumps, FD}
  1320.   
  1321.   #define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \
  1322. !   struct _IO_FILE_plus NAME = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), 0};
  1323.   
  1324.   DEF_STDFILE(_IO_stdin_, 0, 0, _IO_NO_WRITES);
  1325.   DEF_STDFILE(_IO_stdout_, 1, &_IO_stdin_._file, _IO_NO_READS);
  1326. --- 31,37 ----
  1327.            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, &_IO_file_jumps, FD}
  1328.   
  1329.   #define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \
  1330. !   struct _IO_FILE_plus NAME = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), 0}
  1331.   
  1332.   DEF_STDFILE(_IO_stdin_, 0, 0, _IO_NO_WRITES);
  1333.   DEF_STDFILE(_IO_stdout_, 1, &_IO_stdin_._file, _IO_NO_READS);
  1334. ===================================================================
  1335. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/stdstreams.cc,v
  1336. retrieving revision 1.1.1.1
  1337. diff -c -r1.1.1.1 stdstreams.cc
  1338. *** 1.1.1.1    1993/11/27 22:01:31
  1339. --- stdstreams.cc    1993/12/07 22:11:44
  1340. ***************
  1341. *** 39,45 ****
  1342.   #define USE_FILEBUF
  1343.   #endif
  1344.   
  1345. ! #ifdef NAMES_HAVE_UNDERSCORE
  1346.   #define UNDERSCORE "_"
  1347.   #else
  1348.   #define UNDERSCORE ""
  1349. --- 39,45 ----
  1350.   #define USE_FILEBUF
  1351.   #endif
  1352.   
  1353. ! #if _G_NAMES_HAVE_UNDERSCORE
  1354.   #define UNDERSCORE "_"
  1355.   #else
  1356.   #define UNDERSCORE ""
  1357. ***************
  1358. *** 116,138 ****
  1359.    (streambuf*)&SBUF, TIE, 0, ios::dont_close|ios::skipws|EXTRA_FLAGS, ' ',0,0,6
  1360.   
  1361.   #ifdef __GNUC__
  1362. ! #define OSTREAM_DEF(TYPE, NAME, SBUF, TIE, EXTRA_FLAGS) \
  1363. !   TYPE NAME = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
  1364. ! #define ISTREAM_DEF(TYPE, NAME, SBUF, TIE, EXTRA_FLAGS) \
  1365. !   TYPE NAME = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
  1366. ! #else
  1367. ! #define OSTREAM_DEF(TYPE, NAME, SBUF, TIE, EXTRA_FLAGS) \
  1368. !   TYPE NAME = { {0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
  1369. ! #define ISTREAM_DEF(TYPE, NAME, SBUF, TIE, EXTRA_FLAGS) \
  1370. !   TYPE NAME = { {0, 0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
  1371.   #endif
  1372.   
  1373. ! OSTREAM_DEF(_fake_ostream, cout, COUT_SBUF, NULL, 0)
  1374. ! OSTREAM_DEF(_fake_ostream, cerr, CERR_SBUF, (ostream*)&cout, ios::unitbuf)
  1375. ! ISTREAM_DEF(_fake_istream, cin, CIN_SBUF,  (ostream*)&cout, 0)
  1376.   
  1377.   /* Only for (partial) compatibility with AT&T's library. */
  1378. ! OSTREAM_DEF(_fake_ostream, clog, CERR_SBUF, (ostream*)&cout, 0)
  1379.   
  1380.   // Switches between using __std_filebuf_{0,1,2} and
  1381.   // __std{in,out,err}_stdiobuf for standard streams.  This is
  1382. --- 116,138 ----
  1383.    (streambuf*)&SBUF, TIE, 0, ios::dont_close|ios::skipws|EXTRA_FLAGS, ' ',0,0,6
  1384.   
  1385.   #ifdef __GNUC__
  1386. ! #define OSTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
  1387. !   _fake_ostream NAME = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
  1388. ! #define ISTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
  1389. !   _fake_istream NAME = { {&NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
  1390. ! #else
  1391. ! #define OSTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
  1392. !   _fake_ostream NAME = { {0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS) }};
  1393. ! #define ISTREAM_DEF(NAME, SBUF, TIE, EXTRA_FLAGS) \
  1394. !   _fake_ostream NAME = {{0, 0, &NAME.base}, {STD_STR(SBUF, TIE, EXTRA_FLAGS)}};
  1395.   #endif
  1396.   
  1397. ! OSTREAM_DEF(cout, COUT_SBUF, NULL, 0)
  1398. ! OSTREAM_DEF(cerr, CERR_SBUF,(ostream*)&cout, ios::unitbuf)
  1399. ! ISTREAM_DEF(cin, CIN_SBUF,  (ostream*)&cout, 0)
  1400.   
  1401.   /* Only for (partial) compatibility with AT&T's library. */
  1402. ! OSTREAM_DEF(clog, CERR_SBUF, (ostream*)&cout, 0)
  1403.   
  1404.   // Switches between using __std_filebuf_{0,1,2} and
  1405.   // __std{in,out,err}_stdiobuf for standard streams.  This is
  1406. ===================================================================
  1407. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/streambuf.cc,v
  1408. retrieving revision 1.1.1.1
  1409. diff -c -r1.1.1.1 streambuf.cc
  1410. *** 1.1.1.1    1993/11/27 22:01:31
  1411. --- streambuf.cc    1993/12/07 22:11:44
  1412. ***************
  1413. *** 125,131 ****
  1414.   }
  1415.   
  1416.   void streambuf::setb(char* b, char* eb, int a)
  1417. ! { return _IO_setb(this, b, eb, a); }
  1418.   
  1419.   int streambuf::doallocate() { return _IO_default_doallocate(this); }
  1420.   
  1421. --- 125,131 ----
  1422.   }
  1423.   
  1424.   void streambuf::setb(char* b, char* eb, int a)
  1425. ! { _IO_setb(this, b, eb, a); }
  1426.   
  1427.   int streambuf::doallocate() { return _IO_default_doallocate(this); }
  1428.   
  1429. ***************
  1430. *** 261,267 ****
  1431.   int streambuf::flush_all() { return _IO_flush_all (); }
  1432.   
  1433.   void streambuf::flush_all_linebuffered()
  1434. ! { return _IO_flush_all_linebuffered(); }
  1435.   
  1436.   int streambuf::sys_stat(void *)
  1437.   {
  1438. --- 261,267 ----
  1439.   int streambuf::flush_all() { return _IO_flush_all (); }
  1440.   
  1441.   void streambuf::flush_all_linebuffered()
  1442. ! { _IO_flush_all_linebuffered(); }
  1443.   
  1444.   int streambuf::sys_stat(void *)
  1445.   {
  1446. ===================================================================
  1447. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/strops.c,v
  1448. retrieving revision 1.1.1.1
  1449. diff -c -r1.1.1.1 strops.c
  1450. *** 1.1.1.1    1993/11/27 22:01:31
  1451. --- strops.c    1993/12/07 22:11:58
  1452. ***************
  1453. *** 24,29 ****
  1454. --- 24,30 ----
  1455.   
  1456.   #include "strfile.h"
  1457.   #include "libioP.h"
  1458. + #include <string.h>
  1459.   
  1460.   #define LEN(fp) (((_IO_strfile*)(fp))->_s._len)
  1461.   
  1462. ===================================================================
  1463. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iosrc/strstream.cc,v
  1464. retrieving revision 1.1.1.1
  1465. diff -c -r1.1.1.1 strstream.cc
  1466. *** 1.1.1.1    1993/11/27 22:01:32
  1467. --- strstream.cc    1993/12/07 22:11:59
  1468. ***************
  1469. *** 28,34 ****
  1470.   #pragma implementation
  1471.   #endif
  1472.   #include "iostreamP.h"
  1473. ! #include <strstream.h>
  1474.   
  1475.   static void* default_alloc(_IO_size_t size)
  1476.   {
  1477. --- 28,35 ----
  1478.   #pragma implementation
  1479.   #endif
  1480.   #include "iostreamP.h"
  1481. ! #include "strstream.h"
  1482. ! #include <string.h>
  1483.   
  1484.   static void* default_alloc(_IO_size_t size)
  1485.   {
  1486. ===================================================================
  1487. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iotests/makefile.32,v
  1488. retrieving revision 1.2
  1489. diff -c -r1.2 makefile.32
  1490. *** 1.2    1993/11/29 22:12:53
  1491. --- makefile.32    1994/02/01 23:07:20
  1492. ***************
  1493. *** 38,44 ****
  1494.   LDFLAGS = -v -lpml -s -lg++
  1495.   
  1496.   TEST= hounddog.ttp putbackdog.ttp tFile.ttp tfformat.ttp tiformat.ttp \
  1497. !       tiomanip.ttp
  1498.   
  1499.   OBJS = $(TEST:.ttp=.o)
  1500.   # the stuff to make
  1501. --- 38,44 ----
  1502.   LDFLAGS = -v -lpml -s -lg++
  1503.   
  1504.   TEST= hounddog.ttp putbackdog.ttp tFile.ttp tfformat.ttp tiformat.ttp \
  1505. !       tiomanip.ttp tiomisc.ttp
  1506.   
  1507.   OBJS = $(TEST:.ttp=.o)
  1508.   # the stuff to make
  1509. ***************
  1510. *** 48,54 ****
  1511.   obj: $(OBJS)
  1512.   
  1513.   # g++ files should have extension .cc
  1514. ! # generated test files will habe .ttp extn
  1515.   
  1516.   .SUFFIXES: .ttp .cc
  1517.   .cc.o:
  1518. --- 48,54 ----
  1519.   obj: $(OBJS)
  1520.   
  1521.   # g++ files should have extension .cc
  1522. ! # generated test files will have .ttp extn
  1523.   
  1524.   .SUFFIXES: .ttp .cc
  1525.   .cc.o:
  1526. ***************
  1527. *** 72,77 ****
  1528.   tfformat.ttp : tfformat.o
  1529.   tiformat.ttp : tiformat.o
  1530.   tiomanip.ttp : tiomanip.o
  1531.   
  1532. --- 72,76 ----
  1533.   tfformat.ttp : tfformat.o
  1534.   tiformat.ttp : tiformat.o
  1535.   tiomanip.ttp : tiomanip.o
  1536. + tiomisc.ttp: tiomisc.o
  1537.   
  1538. ===================================================================
  1539. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/iotests/run32.g,v
  1540. retrieving revision 1.1
  1541. diff -c -r1.1 run32.g
  1542. *** 1.1    1993/11/29 22:12:55
  1543. --- run32.g    1994/02/01 23:07:29
  1544. ***************
  1545. *** 1,22 ****
  1546. ! ./tFile < ./tFile.inp > tFile.out 2>&1
  1547. ! diff -c tFile.out ./tFile.exp
  1548. ! ./tFile -b0 < ./tFile.inp > tFile-buf0.out 2>&1
  1549. ! diff -c tFile-buf0.out ./tFile.exp
  1550. ! ./tFile -b3 < ./tFile.inp > tFile-buf3.out 2>&1
  1551. ! diff -c tFile-buf3.out ./tFile.exp
  1552. ! ./hounddog <./hounddog.inp > hounddog.out 2>&1
  1553. ! diff -c hounddog.out ./hounddog.exp
  1554. ! ./hounddog -b0 <./hounddog.inp > hound-b0.out 2>&1
  1555. ! diff -c hound-b0.out ./hounddog.exp
  1556. ! ./hounddog -b2 <./hounddog.inp > hound-b2.out 2>&1
  1557. ! diff -c hound-b2.out ./hounddog.exp
  1558. ! ./putbackdog <./hounddog.inp > putback.out 2>&1
  1559. ! diff -c putback.out ./hounddog.exp
  1560. ! ./putbackdog -b0 <./hounddog.inp > putback-b0.out 2>&1
  1561. ! diff -c putback-b0.out ./hounddog.exp
  1562. ! ./putbackdog -b2 <./hounddog.inp > putback-b2.out 2>&1
  1563. ! diff -c putback-b2.out ./hounddog.exp
  1564. ! ./tiomanip >tiomanip.out 2>&1
  1565. ! diff -c tiomanip.out ./tiomanip.exp
  1566. ! ./tiformat
  1567. ! ./tfformat
  1568. --- 1,24 ----
  1569. ! .\tFile < .\tFile.inp > tFile.out 2>&1
  1570. ! diff -c tFile.out .\tFile.exp
  1571. ! .\tFile -b0 < .\tFile.inp > tFile-buf0.out 2>&1
  1572. ! diff -c tFile-buf0.out .\tFile.exp
  1573. ! .\tFile -b3 < .\tFile.inp > tFile-buf3.out 2>&1
  1574. ! diff -c tFile-buf3.out .\tFile.exp
  1575. ! .\hounddog <.\hounddog.inp > hounddog.out 2>&1
  1576. ! diff -c hounddog.out .\hounddog.exp
  1577. ! .\hounddog -b0 <.\hounddog.inp > hound-b0.out 2>&1
  1578. ! diff -c hound-b0.out .\hounddog.exp
  1579. ! .\hounddog -b2 <.\hounddog.inp > hound-b2.out 2>&1
  1580. ! diff -c hound-b2.out .\hounddog.exp
  1581. ! .\putbackdog <.\hounddog.inp > putback.out 2>&1
  1582. ! diff -c putback.out .\hounddog.exp
  1583. ! .\putbackdog -b0 <.\hounddog.inp > putback-b0.out 2>&1
  1584. ! diff -c putback-b0.out .\hounddog.exp
  1585. ! .\putbackdog -b2 <.\hounddog.inp > putback-b2.out 2>&1
  1586. ! diff -c putback-b2.out .\hounddog.exp
  1587. ! .\tiomanip >tiomanip.out 2>&1
  1588. ! diff -c tiomanip.out .\tiomanip.exp
  1589. ! .\tiformat
  1590. ! .\tfformat
  1591. ! .\tiomisc >tiomisc.out 2>&1
  1592. ! diff -c tiomisc.out .\tiomisc.exp
  1593. ===================================================================
  1594. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/libsrc/xfix.cc,v
  1595. retrieving revision 1.1.1.1
  1596. diff -c -r1.1.1.1 xfix.cc
  1597. *** 1.1.1.1    1993/11/27 22:01:44
  1598. --- xfix.cc    1994/02/01 22:28:26
  1599. ***************
  1600. *** 455,461 ****
  1601.   
  1602.   void Fix::printon(ostream& s, int width) const
  1603.   {
  1604. -   char format[20];
  1605.     double val = value(*this);
  1606.     int old_precision = s.precision(width-3);
  1607.     long old_flags = s.setf(ios::fixed, ios::fixed|ios::scientific);
  1608. --- 455,460 ----
  1609. ===================================================================
  1610. RCS file: /net/acae127/home/bammi/etc/src/master/atari/libg++/libsrc/xinteger.cc,v
  1611. retrieving revision 1.1.1.1
  1612. diff -c -r1.1.1.1 xinteger.cc
  1613. *** 1.1.1.1    1993/11/27 22:01:45
  1614. --- xinteger.cc    1994/02/01 22:28:33
  1615. ***************
  1616. *** 2138,2144 ****
  1617.     else
  1618.     {
  1619.       char* p = fmt;
  1620. -     int gap = s - p;
  1621.       for (char* t = s; *t != 0; ++t, ++p) *p = *t;
  1622.       while (w++ < width) *p++ = fillchar;
  1623.       *p = 0;
  1624. --- 2138,2143 ----
  1625.